package com.hanamaki.method;


/**
 * 方法的重载  满足的条件
 * 1. 重载的方法 需要在同一个类中，需要有相同名称的方法，但是形参的数量和类型不同
 * 2. 方法名称必须相同
 * 3. 参数列表必须不同（个数不同、数据类型不同）
 * 4. 如果方法名相同，不叫重载
 *
 */
public class Demo02 {

    public static void main(String[] args) {
        // 只调用方法
        System.out.println(max(2, 5));
        System.out.println(max(3, 100, 87));
        System.out.println(max(1, 2, 3, 4));
    }
    // 比大小方法

    /**
     * 方法就是解决问题的 语句集合
     * 两数比大小
     * @param a
     * @param b
     * @return
     */
    public static int max(int a, int b) {

        if (a != 0 && b != 0) {
            if (a == b) {
                return a;
            } else if (a > b) {
                return a;
            } else {
                return b;
            }
        } else {
            return 0;
        }

    }


    /**
     * 三数比大小 输出最大值
     * 冒泡排序
     * @param a
     * @param b
     * @param c
     * @return
     */
    public static int max(int a, int b, int c) {
        int max = a;
        if (a != 0 && b != 0 && c != 0) {
            if (b > c && b > max) {
                max = b;
                return max;
            } else {
                max = c;
                return max;
            }
        } else {
            return 0;
        }
    }

    /**
     * 三数比大小 输出最大值
     * 冒泡排序
     *
     * @param a
     * @param b
     * @param c
     * @return
     */
    public static int max(int a, int b, int c, int d) {
        return (a > b && a > c && a > d) ? a : ((b > c && b > d) ? b : (c > d) ? c : d);
    }

    public static double max(int a, int b, double c, int d) {
        return (a > b && a > c && a > d) ? a : ((b > c && b > d) ? b : (c > d) ? c : d);
    }





}
